import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*

testCase="DBshop003_货到付款"
#调用自定义函数打开网页,url的值是在testData文件中定义的
firefox=openBrowser(url)
#调用自定义函数进行登录
DBshopLogin(firefox,userName,password)
#在首页的搜索框输入小米
firefox.find_element_by_xpath("//input[@name='keywords']").send_keys("小米")
firefox.find_element_by_xpath("//input[@class='search-btn iconfont']").click()
# 选择小米mix3,加入到购物车,点击购物车按钮
firefox.find_element_by_xpath("//img[@alt='小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏']").click()
firefox.switch_to.window(firefox.window_handles[-1])
firefox.find_element_by_xpath("//button[@id='add_cart_submit']").click()
firefox.find_element_by_link_text("去购物车结算").click()
# 点击"去结算"按钮
firefox.find_element_by_link_text("去结算").click()
# 默认地址已经别选择,点击下一步按钮
firefox.find_element_by_xpath("//input[@value='下一步']").click()
# 支付方式选择"货到付款",点击确认订单
firefox.find_element_by_xpath("//input[@value='hdfk']").click()
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
#使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order1.txt',orderNO) # 将订单编号写入到文件中
# 登录后台管理系统,地址是"http://localhost/dbshop/admin",
firefox.get(urlAdmin)
#调用自定义函数进行后台的登录
DBshopLoginAdmin(firefox)
# 8.进入销售管理订单管理,找到刚才前台提交的订单,点击"编辑查看",再点击付款操作按钮
#调用后台的菜单操作函数
DBshopEnterMenu2(firefox,'销售管理','订单管理')
#搜索出订单
firefox.find_element_by_xpath("//input[@name='order_sn']").send_keys(orderNO)
firefox.find_element_by_xpath("//button[@type='submit']").click()
# 点击商品管理订单管理，找到刚才前台提交的订单，点击“编辑查看”。
firefox.find_elements_by_link_text("编辑查看")[0].click()
# 点击发货操作按钮，编辑快递单号“1000000000” 发货说明“保证正品”，点击“点击发货”按钮。
firefox.find_element_by_link_text("发货操作").click()
firefox.find_element_by_id("express_number").send_keys(orderNO)
firefox.find_element_by_id("state_info").send_keys("保证正品")
firefox.find_element_by_xpath("//button").click()
# 确认付款
firefox.find_element_by_link_text("付款操作").click()
firefox.find_element_by_xpath("//select[@name='pay_state']/option[3]").click()
firefox.find_element_by_id("state_info").send_keys('已收到付款')
firefox.find_element_by_xpath("//button").click()
firefox.quit()
#调用自定义函数打开网页,url的值是在testData文件中定义的
firefox=openBrowser(url)
#调用自定义函数进行登录
DBshopLogin(firefox,userName,password)
# 进入前台我的订单—已发货，点击“确认收货”按钮，完成订单。
firefox.find_element_by_link_text("我的订单").click()
firefox.find_element_by_xpath("//a[contains(.,'已发货')]").click()
firefox.find_element_by_xpath("//button[contains(.,'确认收货')]").click()
# 到dbshop前台查看我的订单"交易完成"中,检查上面的订单状态
time.sleep(5)
firefox.find_element_by_link_text("我的订单").click()
firefox.find_element_by_partial_link_text("交易完成").click()
time.sleep(5)
#断言
string=firefox.find_element_by_xpath("//body").text
try:
     if "尚未评价" in string:
      writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
# firefox.quit() #quit()函数有2个作用 1.关闭所有页面 2.关闭浏览器对象 quit()函数建议放到脚本的最后

